<?
require_once 'PHPUnit/Framework.php';

function converte_classe_para_arquivo($classe)
{
	$primeira_letra = $classe{0};
	$classe = substr($classe, 1);
	$arquivo = preg_replace("/(\p{Lu}\p{Ll})/", '_\1', $classe);
	return strtolower($primeira_letra.$arquivo);
}

class FuncoesTest extends PHPUnit_Framework_TestCase
{
	public static function provider()
    {
		return array(
			array("TestCase", "test_case"),
			array("PHPUnit", "php_unit"),
			array("DbChaveValor", "db_chave_valor"),
			array("Db2Adapter", "db2_adapter"),
			array("Qi64Framework", "qi64_framework"),
		);
    }
 
    /**
     * @dataProvider provider
     */
    public function test_classes($classe, $arquivo)
    {
        $this->assertEquals($arquivo, converte_classe_para_arquivo($classe));
    }
}

?>